package cn.iocoder.yudao.module.report.convert.goview;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO;
import cn.iocoder.yudao.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO;
import cn.iocoder.yudao.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO;
import cn.iocoder.yudao.module.report.dal.dataobject.goview.GoViewProjectDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 去查看项目转换
 *
 * @author huangweidong
 * @date 2023/05/09
 */
@Mapper
public interface GoViewProjectConvert {

    GoViewProjectConvert INSTANCE = Mappers.getMapper(GoViewProjectConvert.class);

    /**
     * 转换
     *
     * @param bean bean
     * @return {@code GoViewProjectDO}
     */
    GoViewProjectDO convert(GoViewProjectCreateReqVO bean);

    /**
     * 转换
     *
     * @param bean bean
     * @return {@code GoViewProjectDO}
     */
    GoViewProjectDO convert(GoViewProjectUpdateReqVO bean);

    /**
     * 转换
     *
     * @param bean bean
     * @return {@code GoViewProjectRespVO}
     */
    GoViewProjectRespVO convert(GoViewProjectDO bean);

    /**
     * 转换分页
     *
     * @param page 分页
     * @return {@code PageResult<GoViewProjectRespVO>}
     */
    PageResult<GoViewProjectRespVO> convertPage(PageResult<GoViewProjectDO> page);

}
